#pragma once

#include "MemoryDef.h"

#define SINGLETON(className)\
static className* getSingletonPtr()\
{\
	static className* singleton = NULL;\
	if(!singleton)\
    {\
		singleton = VAMPIRE_NEW className;\
    }\
	return singleton;\
}\
static className getSingleton()\
{\
	className* singleton = className::getSingletonPtr();\
	return *singleton;\
}